<template>
  <div class="child">
    <h2>我是Child组件 —— 我有一个玩具：{{toy}}</h2>
    <button @click="handleClick1">点我把玩具给父亲玩玩</button>
    <button @click="handleClick2">点我把电脑给父亲玩玩</button>
    <button @click="handleClick3">点我把游戏给父亲玩玩</button>
    <hr>
    <button @click="unbindSendGame">解绑我身上的（send-game）事件</button>
    <button @click="handleClick4">触发我身上的自定义click事件</button>
  </div>
</template>

<script>
  export default {
    name:'Child',
    data() {
      return {
        toy:'奥特曼',
        computer:'联想·拯救者y9000k',
        game:'王者荣耀'
      }
    },
    methods:{
      handleClick1(){
        // 触发当前组件实例(vc)身上的send-toy事件
        this.$emit('send-toy',this.toy)
      },
      handleClick2(){
        // 触发当前组件实例(vc)身上的send-toy事件
        this.$emit('send-computer',this.computer)
      },
      handleClick3(){
        // 触发当前组件实例(vc)身上的send-toy事件
        this.$emit('send-game',this.game)
      },
      handleClick4(){
        this.$emit('click',789)
      },
      unbindSendGame(){
        this.$off('send-game')
        // this.$off() //此写法会将该组件实例身上所有的自定义事件全都解绑—— 危险！
      }
    }
  }
</script>

<style scoped>
  .child {
    background-color: skyblue;
    padding: 10px;
  }
</style>